The present invention relates generally to a geofence filtering system, and more particularly, but not by way of limitation, to a system for using cognitive resources to refine a large list of geofences down to a set of geofences that are most relevant to an end user.
A “geofence” is a defined area around a point on a map that is often defined by the area's latitude and longitude. Developers define geofences to enhance their mobile applications such as knowing when to push a message to a customer when they are near a store, or to track individuals so as to turn on the lights in the individual's house when the individual is almost home.
Conventionally, platforms have limitations on the number of geofences that can be monitored. Currently, Android™ is set to 100 geofences and iOS™ has a 20 geofence limitation. In situations where more geofences must be monitored than the platform can handle, it is up to the developers to determine which geofences are returned.
Conventional techniques of filtering geofences only filter based on the geofences within the closest distance to the customer in combination with an expensive Application Program Interface (API) call periodically to check if a big location change has occurred. However, in crowded areas with hundreds, or even thousands, of geofences in a small area, the distance-only filter leads to irrelevant geofences being returned to the user.